package com.weishi.project.training.mapper;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.weishi.project.api.vo.*;
import com.weishi.project.training.domain.Sportsman;
import com.weishi.project.training.domain.SportsmanPhysicalQuality;

/**
 * sportsmanPhysicalQualityMapper接口
 */
public interface SportsmanPhysicalQualityMapper extends BaseMapper<SportsmanPhysicalQuality> {

    /**
     * 查询sportsmanPhysicalQuality列表
     */
    List<SportsmanPhysicalQuality> selectSportsmanPhysicalQualityList(SportsmanPhysicalQuality sportsmanPhysicalQuality);

    /**
     * 查询运动员姓名集合
     * @return List<String>
     */
    List<Sportsman> querySportsNameList();

    SportsmanPhysicalQuality getSportsmanPhysicalQualityById(int sportsmanId);

    /**
     * web后台修改查看详情
     * @param sportsmanId
     * @return
     */
    SportsmanPhysicalQuality getSportsmanPhysicalQualityDetails(int sportsmanId);

    void updateSportsmanPhysicalQualityById(SportsmanPhysicalQuality sportsmanPhysicalQuality);

    /**
     * 运动员身体素质排名
     * @param params
     * @return
     */
    List<SportsmanPhysicalQuality> getRanking(Map<String,Object> params);

    /**
     * 运动员身体素质排名(总)
     * @param rankingParamsVos
     * @return List<RankingVo>
     */
    List<RankingVo> countSportsmanPhysicalQualityBySportsmanIdAndType(List<RankingParamsVo> rankingParamsVos);

    /**
     * 运动员身体素质排名(卧推)
     * @param params
     * @return int
     */
    int countBenchPress(Map<String,Object> params);
    /**
     * 运动员身体素质排名(卧拉)
     * @param params
     * @return int
     */
    int countWola(Map<String,Object> params);
    /**
     * 运动员身体素质排名(深蹲)
     * @param params
     * @return int
     */
    int countSquat(Map<String,Object> params);
    /**
     * 运动员身体素质排名(硬拉)
     * @param params
     * @return int
     */
    int countHardPull(Map<String,Object> params);
    /**
     * 运动员身体素质排名(高翻)
     * @param params
     * @return int
     */
    int countHighTurnover(Map<String,Object> params);
    /**
     * 运动员身体素质排名(三分钟卧推25公斤)
     * @param params
     * @return int
     */
    int countBenchPress25kg3m(Map<String,Object> params);
    /**
     * 运动员身体素质排名(三分钟卧拉25公斤)
     * @param params
     * @return int
     */
    int countWola30kg3m(Map<String,Object> params);
    /**
     * 运动员身体素质排名(三分钟收腹)
     * @param params
     * @return int
     */
    int countPullStomachs3m(Map<String,Object> params);
    /**
     * 运动员身体素质排名(三分钟深蹲)
     * @param params
     * @return int
     */
    int countSquat40kg3m(Map<String,Object> params);
    /**
     * 运动员身体素质排名(腹肌耐力)
     * @param params
     * @return int
     */
    int countAbdominalEndurance(Map<String,Object> params);
    /**
     * 运动员身体素质排名(引体向上最大次数)
     * @param params
     * @return int
     */
    int countPullUp(Map<String,Object> params);
    /**
     * 运动员身体素质排名(静力高架背脊最大次数)
     * @param params
     * @return int
     */
    int countStaticElevatedDorsalMuscle(Map<String,Object> params);
    /**
     * 运动员身体素质排名(背肌耐力)
     * @param params
     * @return int
     */
    int countBackMuscleEndurance(Map<String,Object> params);
    /**
     * 运动员身体素质排名(垂直纵跳)
     * @param params
     * @return int
     */
    int countVerticalJump(Map<String,Object> params);
    /**
     * 运动员身体素质排名(坐位体前屈)
     * @param params
     * @return int
     */
    int countAnteflexion(Map<String,Object> params);
    /**
     * 运动员身体素质排名(30m跑)
     * @param params
     * @return int
     */
    int countRun30m(Map<String,Object> params);
    /**
     * 运动员身体素质排名(3000m跑)
     * @param params
     * @return int
     */
    int countRun3000m(Map<String,Object> params);
    /**
     * 运动员身体素质排名(三级跳远)
     * @param params
     * @return int
     */
    int countThreeStepJump(Map<String,Object> params);

    /**
     * 查看排名历史
     * @param rangkingDetailsParamsVo
     * @return
     */
    List<RangkingDetailsVo> getRangkingDetailsVo(RangkingDetailsParamsVo rangkingDetailsParamsVo);

    /**
     * 身体素质查看历史
     * @return
     */
    List<RangkingDetailsVo> getSportsmanPhysicalQualityHistory(HistoryVo historyVo);







}